﻿// See https://aka.ms/new-console-template for more information
using System.Text;

Console.WriteLine("Hello, World!");

//    byte[] msg1 = Encoding.Default.GetBytes("abc");
//    byte[] msg2 = Encoding.Default.GetBytes("abcd");
//    byte[] md = new byte[32];

//    SM3Digest sm3 = new SM3Digest();

//    // abc
//    sm3.BlockUpdate(msg1, 0, msg1.Length);
//    sm3.DoFinal(md, 0);
//    System.String s = new UTF8Encoding().GetString(Hex.Encode(md));
//    System.Console.Out.WriteLine(s);

//    // abc*16
//    for (int i = 0; i < 16; i++)
//        sm3.BlockUpdate(msg2, 0, msg2.Length);
//    sm3.DoFinal(md, 0);
//    System.String s1 = new UTF8Encoding().GetString(Hex.Encode(md));
//    System.Console.Out.WriteLine(s1);

//    // abc + abc*15
//    SM3Digest sm3_ = new SM3Digest();
//    sm3_.BlockUpdate(msg2, 0, msg2.Length);
//    sm3 = new SM3Digest(sm3_);
//    for (int i = 1; i < 16; i++)
//        sm3.BlockUpdate(msg2, 0, msg2.Length);
//    sm3.DoFinal(md, 0);
//    System.String s2 = new UTF8Encoding().GetString(Hex.Encode(md));
//    System.Console.Out.WriteLine(s2);
//    Console.ReadLine();
//    /*
//    66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
//    debe9ff92275b8a138604889c18e5a4d6fdb70e5387e5765293dcba39c0c5732
//    debe9ff92275b8a138604889c18e5a4d6fdb70e5387e5765293dcba39c0c5732
//    */